package com.deliccio.dao.impl;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.deliccio.connect.DAO;
import com.deliccio.dao.SucursalesDAO;
import com.deliccio.entitys.Foto;
import com.deliccio.entitys.Producto;
import com.deliccio.entitys.Sucursales;

@Repository("SucursalesDAO")
public class SucursalesDAOImpl extends DAO<Sucursales> implements SucursalesDAO{

	@Override
	public List<Sucursales> obtenerSucursales(){
		sqlQuery=" select s from Sucursales s  where s.id>0   ";
		q=em.createQuery(sqlQuery);
		return q.getResultList();
		
	}
	@Override
	public Sucursales buscarxId(int idsucursal) {
		sqlQuery=" select s from Sucursales s where s.id =:idsucursal ";		
		q=em.createQuery(sqlQuery);
		q.setParameter("idsucursal",idsucursal);
		q.setMaxResults(1);

		return (Sucursales) q.getSingleResult();

	}
	
	@Override
	public List<Sucursales> obtenerSucursalesDisponibles(Integer id){
		System.out.println("id:"+id);
		sqlQuery=" select new Sucursales(s.id,s.nombre) from Sucursales s " +
				 " where  s.id > 0 and s.id not in (SELECT ps.id.idsucursal FROM ProductoPorSucursal ps where ps.id.idproducto = :id group by 1 ) ";
		q=em.createQuery(sqlQuery);
		q.setParameter("id",id);
		return q.getResultList();
	}
	
	@Override
	public List<Sucursales> obtenerSucursalesAsignados(Integer id){
		System.out.println("id:"+id);
		sqlQuery=" select new Sucursales(s.id,s.nombre) from Sucursales s " +
				 " where  s.id > 0 and s.id  in (SELECT ps.id.idsucursal FROM ProductoPorSucursal ps where ps.id.idproducto = :id group by 1 ) ";
		q=em.createQuery(sqlQuery);
		q.setParameter("id",id);
		return q.getResultList();
	}
	
	
}
